#アニメーション

Chart.js は、すぐにグラフをアニメーション化します。アニメーションの見た目やアニメーションにかかる時間を設定するためのオプションが多数用意されています。

    #アニメーション構成

    アニメーション設定は3つのキーで構成されます。

    名前 タイプ 詳細
    アニメーション object アニメーション
    アニメーション object アニメーション
    トランジション object トランジション

    これらのキーは次のパスで構成できます。

    • `` - チャートオプション
    • datasets[type]- データセットタイプのオプション
    • overrides[type]- グラフの種類のオプション

    これらのパスは次の環境で有効です。defaultsグローバル設定用とoptionsたとえば構成。

    #アニメーション

    デフォルトの構成はここで定義されています。コア.アニメーション.js

    名前空間:options.animation

    名前 タイプ デフォルト 説明
    duration number 1000 アニメーションにかかるミリ秒数。
    easing string 'easeOutQuart' 使いやすさを高める機能。もっと...
    delay number undefined アニメーションを開始する前の遅延。
    loop boolean undefined に設定されている場合true、アニメーションは無限にループします。

    これらのデフォルトは次でオーバーライドできます。options.animationまたdataset.animationとお父さん937bf-30ec-4b5a-bcb9-402e48422a9f。これらのキーもスクリプト可能。

    #アニメーション

    アニメーション オプションでは、どの要素のプロパティをどのようにアニメーション化するかを構成します。 メインに加えて、アニメーション構成では、次のオプションが利用可能です。

    名前空間:options.animations[animation]

    名前 タイプ デフォルト 説明
    properties string[] key この構成が適用されるプロパティ名。デフォルトはこのオブジェクトのキー名です。
    type string typeof property プロパティのタイプ。使用される補間器を決定します。可能な値:'number''color''boolean'。本当に必要なものだけ'color'、 なぜならtypeofそれは正しくありません。
    from number|Color|boolean undefined アニメーションの開始値。現在の値は次の場合に使用されます。undefined
    to number|Color|boolean undefined アニメーションの終了値。更新された値は次の場合に使用されます。undefined
    fn <T>(from: T, to: T, factor: number) => T; undefined 事前定義された補間器を使用する代わりに、オプションのカスタム補間器を使用します。type

    #デフォルトのアニメーション

    名前 オプション 価値
    numbers properties ['x', 'y', 'borderWidth', 'radius', 'tension']
    numbers type 'number'
    colors properties ['color', 'borderColor', 'backgroundColor']
    colors type 'color'

    ノート

    これらのデフォルトのアニメーションは、ほとんどのデータセット コントローラーによってオーバーライドされます。

    #トランジション

    コアトランジションは次のとおりです。'active''hide''reset''resize''show'。 カスタム トランジションは、カスタム トランジションを渡すことで使用できます。modeアップデート。 トランジションはメインを拡張しますアニメーション構成アニメーション設定

    #デフォルトのトランジション

    名前空間:options.transitions[mode]

    モード オプション 価値 説明
    'active' アニメーションの長さ 400 ホバー アニメーションのデフォルトの継続時間を 400 ミリ秒にオーバーライドします。
    'resize' アニメーションの長さ 0 サイズ変更のデフォルトの継続時間を 0ms (= アニメーションなし) にオーバーライドします。
    'show' アニメーション.カラー { type: 'color', properties: ['borderColor', 'backgroundColor'], from: 'transparent' } 凡例を使用してデータセットを表示すると、色が透明からフェードインします /API
    'show' アニメーション.可視 { type: 'boolean', duration: 0 } データセットの可視性はすぐに true に変更されるため、透明からの色の遷移が表示されます。
    'hide' アニメーション.カラー 864d796​​a-3da4-479e-8451-be1bbc8ec0eb 凡例を使用してデータセット ID を非表示にすると、色が薄れて透明になります /API
    'hide' アニメーション.可視 { type: 'boolean', easing: 'easeInExpo' } アニメーションの非常に遅い段階で可視性が false に変更される

    #アニメーションを無効にする

    アニメーション設定を無効にするには、アニメーション ノードを次のように設定する必要があります。falseただし、アニメーション モードは例外で、アニメーション モードはduration0

    chart.options.animation = false; // disables all animations
    chart.options.animations.colors = false; // disables animation defined by the collection of 'colors' properties
    chart.options.animations.x = false; // disables animation defined by the 'x' property
    chart.options.transitions.active.animation.duration = 0; // disables the animation for 'active' mode
    

    #イージング

    利用可能なオプションは次のとおりです。

    • 'linear'
    • 'easeInQuad'
    • 'easeOutQuad'
    • 'easeInOutQuad'
    • 'easeInCubic'
    • 'easeOutCubic'
    • 'easeInOutCubic'
    • 'easeInQuart'
    • 'easeOutQuart'
    • 'easeInOutQuart'
    • 'easeInQuint'
    • 'easeOutQuint'
    • 'easeInOutQuint'
    • 'easeInSine'
    • 'easeOutSine'
    • 'easeInOutSine'
    • 'easeInExpo'
    • 'easeOutExpo'
    • 'easeInOutExpo'
    • 'easeInCirc'
    • 'easeOutCirc'
    • 'easeInOutCirc'
    • 'easeInElastic'
    • 'easeOutElastic'
    • 'easeInOutElastic'
    • 'easeInBack'
    • 'easeOutBack'
    • 'easeInOutBack'
    • 'easeInBounce'
    • 'easeOutBounce'
    • 'easeInOutBounce'

    見るロバート・ペナーのイージング方程式 (新しいウィンドウが開きます)

    #アニメーションコールバック

    アニメーション設定は、外部描画をチャート アニメーションに同期するのに役立つコールバックを提供します。 コールバックはメインでのみ設定できますアニメーション構成

    名前空間:options.animation

    名前 タイプ デフォルト 説明
    onProgress function null アニメーションの各ステップで呼び出されるコールバック。
    onComplete function null すべてのアニメーションが完了したときに呼び出されるコールバック。

    コールバックには次のオブジェクトが渡されます。

    {
      // Chart object
      chart: Chart,
      // Number of animations still in progress
      currentStep: number,
      // `true` for the initial animation of the chart
      initial: boolean,
      // Total number of animations at the start of current animation
      numSteps: number,
    }
    

    次の例では、チャートのアニメーション中に進行状況バーを塗りつぶします。

    const chart = new Chart(ctx, {
        type: 'line',
        data: data,
        options: {
            animation: {
                onProgress: function(animation) {
                    progress.value = animation.currentStep / animation.numSteps;
                }
            }
        }
    });
    

    これらのコールバックの別の使用例が見つかります。この進行状況バーのサンプルでは、アニメーションの進行状況を示す進行状況バーが表示されます。

    最終更新: 2023 年 4 月 28 日、午前 5 時 18 分 20 秒